package com.hongyun.tms.infra.excel.annotation;

import com.hongyun.tms.common.dto.mrate.MRateImportDto;

import javax.validation.ConstraintValidator;
import javax.validation.ConstraintValidatorContext;

/*
费率的起止长度校验
 */
public class LengthRangeValidator implements ConstraintValidator<ValidLengthRange, MRateImportDto> {

    @Override
    public void initialize(ValidLengthRange constraintAnnotation) {
    }

    @Override
    public boolean isValid(MRateImportDto dto, ConstraintValidatorContext context) {
        if (dto.getLengthStart() == null || dto.getLengthEnd() == null) {
            // 如果其中一个值为 null，交由其他 @NotNull 校验处理
            return true;
        }

        // 校验船长起必须小于船长止
        return dto.getLengthStart() < dto.getLengthEnd();
    }
}
